#include <iostream>
#include <string>
#include <regex>

std::string analyze_words(std::string input_str) {
    std::vector<std::string> words;
    std::string word;
    std::istringstream iss(input_str);
    while (iss >> word) {
        words.push_back(word);
    }
    if (words.size() <= 1) {
        return "Мало данных для анализа";
    }
    int c1 = 0;
    int l = 0;
    int s = 0;
    int h = 0;
    std::string l2 = "";
    for (std::string word : words) {
        std::regex pattern("[A-Za-z]");
        if (std::regex_search(word, pattern)) {
            l += 1;
        }
        if (word.length() <= 3) {
            s += 1;
        }
        if (word.find('-') != std::string::npos) {
            h += 1;
        }
        if (word.length() > l2.length()) {
            l2 = word;
        }
        char first_char = word[0];
        if (('А' <= first_char && first_char <= 'Я') || ('A' <= first_char && first_char <= 'Z')) {
            c1 += 1;
        }
    }
    return "Кол-во слов: " + std::to_string(words.size()) + "\nКол-во слов с заглавной кириллической буквы: " + std::to_string(c1) + "\nКол-во слов содержащих латинский символ: " + std::to_string(l) + "\nКол-во слов не превышающих 3 символа: " + std::to_string(s) + "\nКол-во слов в составе которых имеется дефис: " + std::to_string(h) + "\nСамое длинное слово: " + l2 + "\nДлина слова: " + std::to_string(l2.length());
}

int main() {
    std::string input_str;
    std::cout << "Введите слова, разделенные пробелом: ";
    std::getline(std::cin, input_str);
    std::cout << analyze_words(input_str) << std::endl;
    return 0;
}

